Nested JSON এর ধারণা গাইড ও নোট

Java Technologies - জেসন (JSON) - Nested JSON এবং Complex Structures
345

JSON (JavaScript Object Notation) একটি হালকা, মানব-পঠনযোগ্য এবং মেশিন-পঠনযোগ্য ডেটা বিনিময় ফরম্যাট। JSON ডেটাতে সাধারণত key-value pair ব্যবহৃত হয়, যা ডেটাকে বিভিন্ন ডাটা টাইপ (যেমন: স্ট্রিং, নাম্বার, অ্যারে, অবজেক্ট) ধারণ করতে সক্ষম করে। Nested JSON হল JSON এর একটি কাঠামো যেখানে একটি JSON অবজেক্ট অন্য একটি অবজেক্টের মধ্যে থাকে, অর্থাৎ একটি অবজেক্টের মধ্যে আরেকটি অবজেক্ট বা অ্যারে থাকতে পারে।

Nested JSON এর ধারণা


Nested JSON এমন একটি JSON অবজেক্ট যেখানে অন্তর্নিহিত (nested) JSON অবজেক্ট বা অ্যারে থাকে। এটি জটিল ডেটা কাঠামো তৈরি করতে ব্যবহৃত হয়। এটি সাধারণত ব্যবহার করা হয় যখন ডেটার মধ্যে সম্পর্কযুক্ত বা সাপেক্ষ তথ্য থাকতে থাকে। উদাহরণস্বরূপ, একটি ব্যবহারকারীর তথ্যের মধ্যে তার ঠিকানা, যোগাযোগের তথ্য, অথবা পূর্ববর্তী কার্যক্রম থাকতে পারে।

Nested JSON উদাহরণ

{
    "name": "John",
    "age": 30,
    "address": {
        "street": "123 Main St",
        "city": "New York",
        "zipcode": "10001"
    },
    "phoneNumbers": [
        {
            "type": "mobile",
            "number": "123-456-7890"
        },
        {
            "type": "home",
            "number": "987-654-3210"
        }
    ]
}

এখানে, address এবং phoneNumbers দুটি nested অবজেক্ট এবং অ্যারে। address একটি অবজেক্ট, যা street, city, এবং zipcode এর মতো কী-ভ্যালু পেয়ার ধারণ করে। phoneNumbers একটি অ্যারে, যেখানে দুটি অবজেক্ট রয়েছে, প্রতিটি ফোন নম্বরের জন্য একটি type এবং number প্রদান করা হয়েছে।


Nested JSON এর ব্যবহার


Nested JSON এমন পরিস্থিতিতে ব্যবহার করা হয় যখন একটি ডেটা কাঠামো অন্যান্য সম্পর্কিত তথ্য ধারণ করে, যেমন:

  1. একাধিক ঠিকানা বা যোগাযোগের তথ্য: যদি একটি ব্যক্তির একাধিক ঠিকানা বা ফোন নম্বর থাকে, তবে আপনি nested JSON ব্যবহার করে এটি সহজেই মডেল করতে পারবেন।
  2. সম্পর্কিত তথ্য: কিছু ডেটা একে অপরের সাথে সম্পর্কিত থাকতে পারে, যেমন একটি পণ্য এবং তার বৈশিষ্ট্য, একজন কর্মী এবং তার কর্মস্থল।

Nested JSON এবং Java Integration


Java তে Nested JSON প্রক্রিয়াজাত করতে Jackson, Gson বা অন্যান্য লাইব্রেরি ব্যবহার করা যায়। নিচে Jackson লাইব্রেরি দিয়ে Nested JSON কিভাবে পার্স করতে হয় তার একটি উদাহরণ দেয়া হলো।

Jackson লাইব্রেরি দিয়ে Nested JSON পার্স করা

Maven Dependency:
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.0</version>
</dependency>
Nested JSON কনভার্সন উদাহরণ:
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;

class Address {
    private String street;
    private String city;
    private String zipcode;
    
    // Getter and Setter methods
    public String getStreet() { return street; }
    public void setStreet(String street) { this.street = street; }
    
    public String getCity() { return city; }
    public void setCity(String city) { this.city = city; }
    
    public String getZipcode() { return zipcode; }
    public void setZipcode(String zipcode) { this.zipcode = zipcode; }
}

class PhoneNumber {
    private String type;
    private String number;

    // Getter and Setter methods
    public String getType() { return type; }
    public void setType(String type) { this.type = type; }

    public String getNumber() { return number; }
    public void setNumber(String number) { this.number = number; }
}

class Person {
    private String name;
    private int age;
    private Address address;
    private List<PhoneNumber> phoneNumbers;

    // Getter and Setter methods
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }

    public Address getAddress() { return address; }
    public void setAddress(Address address) { this.address = address; }

    public List<PhoneNumber> getPhoneNumbers() { return phoneNumbers; }
    public void setPhoneNumbers(List<PhoneNumber> phoneNumbers) { this.phoneNumbers = phoneNumbers; }
}

public class NestedJSONExample {
    public static void main(String[] args) {
        try {
            // JSON String with Nested Objects
            String json = "{"
                            + "\"name\": \"John\","
                            + "\"age\": 30,"
                            + "\"address\": {\"street\": \"123 Main St\", \"city\": \"New York\", \"zipcode\": \"10001\"},"
                            + "\"phoneNumbers\": ["
                                + "{\"type\": \"mobile\", \"number\": \"123-456-7890\"},"
                                + "{\"type\": \"home\", \"number\": \"987-654-3210\"}"
                            + "]"
                        + "}";

            // Jackson ObjectMapper
            ObjectMapper objectMapper = new ObjectMapper();

            // JSON to Java object conversion
            Person person = objectMapper.readValue(json, Person.class);

            // Output the nested values
            System.out.println("Name: " + person.getName());
            System.out.println("Age: " + person.getAge());
            System.out.println("Street: " + person.getAddress().getStreet());
            System.out.println("City: " + person.getAddress().getCity());
            System.out.println("Phone Numbers: ");
            for (PhoneNumber phone : person.getPhoneNumbers()) {
                System.out.println(phone.getType() + ": " + phone.getNumber());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

এখানে, Person ক্লাসে Address এবং PhoneNumber নামে দুটি নেস্টেড অবজেক্ট রয়েছে। Jackson ObjectMapper ব্যবহার করে Nested JSON পার্স করা হয়েছে এবং ডেটাকে C# অবজেক্টে রূপান্তর করা হয়েছে।


Nested JSON এর সুবিধা


  1. সম্পর্কিত ডেটা সহজভাবে সংগঠিত করা: Nested JSON ব্যবহার করে সম্পর্কিত ডেটা একসাথে রাখা যায়, যেমন একাধিক ঠিকানা বা ফোন নম্বর।
  2. ডেটার কাঠামো বজায় রাখা: Nested JSON ডেটার কাঠামো ধরে রাখে এবং অ্যাপ্লিকেশন বা সিস্টেমের মধ্যে ডেটা আদান-প্রদান সহজ করে।
  3. সহজে প্রক্রিয়াজাত করা: JSON লাইব্রেরি ব্যবহার করে সহজেই nested JSON ডেটা প্রক্রিয়াজাত করা যায়।

Nested JSON একটি শক্তিশালী এবং বহুল ব্যবহৃত কৌশল যা ডেটাকে আরও সংগঠিত এবং সম্পর্কযুক্ত ভাবে স্টোর করার জন্য ব্যবহৃত হয়। JSON এর সহজ গঠন এবং C# বা Java তে এর সহজ প্রক্রিয়াজাতকরণের কারণে এটি খুবই জনপ্রিয়।

Content added By
Promotion

Are you sure to start over?

Loading...